{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "c47e9409-c256-4fc4-b2ac-a000de24c565",
   "metadata": {},
   "source": [
    "# 量化交易基础"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "911acffe-27cd-402b-9432-565b3002dbe1",
   "metadata": {},
   "source": [
    "## 1 聚宽量化平台API使用\n",
    "安装`pip install jqdatasdk`\n",
    "\n",
    "导入`import jqdatasdk`\n",
    "\n",
    "升级JQData：`pip install -U jqdatasdk`"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "d8fd4959-91c0-4974-b131-725762aa43fc",
   "metadata": {},
   "source": [
    "### 1.1 初始化"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "2a52b15b-5541-4270-81c6-7a8be727f23d",
   "metadata": {},
   "source": [
    "* 读取用户名和密码"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "8321e96c-5565-4b71-87de-a2e28ca3ab2e",
   "metadata": {},
   "outputs": [],
   "source": [
    "# 在当前文件夹下新建user.txt文件，并输入用户名和密码保存，注重换行\n",
    "with open('./user.txt','r') as f:\n",
    "    username = f.readline().strip()\n",
    "    password = f.readline().strip()\n",
    "# username, password # 查看用户名和密码"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "8b03bd2f-8e13-4e66-b4a6-25246100e811",
   "metadata": {},
   "source": [
    "* 登录聚宽帐号"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "059a82ce-653e-405e-9b8f-3df25fdb9564",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "auth success \n"
     ]
    }
   ],
   "source": [
    "import jqdatasdk\n",
    " \n",
    "# 登录帐号\n",
    "jqdatasdk.auth(username=username, password=password)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "b63d6b85-7892-4e70-b6e7-e9ce1b839ab2",
   "metadata": {},
   "source": [
    "* 导入所需模块"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "f294ccbd-4c64-4b62-8498-489aab30b3f9",
   "metadata": {},
   "outputs": [],
   "source": [
    "import pandas as pd\n",
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "\n",
    "# 运行时配置参数\n",
    "# rcParames：runtime configuration Parameters\n",
    "\n",
    "# 如果浏览器不显示图片，就需要加上这句话\n",
    "%matplotlib inline\n",
    "# 让图片中可以显示中文\n",
    "plt.rcParams['font.sans-serif'] = 'Simhei'\n",
    "# 让图片可以显示负号\n",
    "plt.rcParams['axes.unicode_minus'] = False\n",
    "# 支持svg矢量图\n",
    "%config Inlinebakend.figuer_format = 'svg'"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "590aaad1-fe47-4938-98f0-b5a2d0b869e6",
   "metadata": {},
   "source": [
    "* 查询账户状态"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "7d5835ff-0f40-4801-965f-5903ebff2ed4",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'mob': '15500802551',\n",
       " 'query_count_limit': 1000000,\n",
       " 'license': 1,\n",
       " 'expire_time': '2025-09-30 00:00:00',\n",
       " 'date_range_start': '2024-03-27 00:00:00',\n",
       " 'date_range_end': '2025-04-03 00:00:00'}"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "jqdatasdk.get_account_info()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "5808043f-19c8-404e-8b2a-76f39e6fcb96",
   "metadata": {},
   "source": [
    "* 查询剩余流量"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "c67c6f50-c0cd-4916-953f-7b4c53c301af",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'total': 1000000, 'spare': 1000000}"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "jqdatasdk.get_query_count()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "0f6fb7de-e1d8-48ad-b8f2-7b5b7aa1377b",
   "metadata": {},
   "source": [
    "### 1.2 基础操作"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "34554bdd-5b4f-4898-9f7a-316108d34e59",
   "metadata": {},
   "source": [
    "#### 1.2.1 获取所有股票、基金、指数、期货信息\n",
    "* `get_all_securities()`\n",
    "  \n",
    ":param types list: 用来过滤securities的类型, list元素可选: ‘stock’, ‘fund’, ‘index’, ‘futures’, ‘etf’, ‘lof’, ‘fja’, ‘fjb’. types为空时返回所有股票, 不包括基金,指数和期货\n",
    "\n",
    ":param date 日期, 一个字符串或者 datetime.datetime/datetime.date 对象, 用于获取某日期还在上市的股票信息. 默认值为 None, 表示获取所有日期的股票信息\n",
    "\n",
    ":return pandas.DataFrame"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "1dcead91-3c26-431e-939a-8862687227e7",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>display_name</th>\n",
       "      <th>name</th>\n",
       "      <th>start_date</th>\n",
       "      <th>end_date</th>\n",
       "      <th>type</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>000001.XSHE</th>\n",
       "      <td>平安银行</td>\n",
       "      <td>PAYH</td>\n",
       "      <td>1991-04-03</td>\n",
       "      <td>2200-01-01</td>\n",
       "      <td>stock</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>000002.XSHE</th>\n",
       "      <td>万科A</td>\n",
       "      <td>WKA</td>\n",
       "      <td>1991-01-29</td>\n",
       "      <td>2200-01-01</td>\n",
       "      <td>stock</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>000004.XSHE</th>\n",
       "      <td>*ST国华</td>\n",
       "      <td>*STGH</td>\n",
       "      <td>1990-12-01</td>\n",
       "      <td>2200-01-01</td>\n",
       "      <td>stock</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>000005.XSHE</th>\n",
       "      <td>ST星源</td>\n",
       "      <td>STXY</td>\n",
       "      <td>1990-12-10</td>\n",
       "      <td>2024-04-25</td>\n",
       "      <td>stock</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>000006.XSHE</th>\n",
       "      <td>深振业A</td>\n",
       "      <td>SZYA</td>\n",
       "      <td>1992-04-27</td>\n",
       "      <td>2200-01-01</td>\n",
       "      <td>stock</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>688799.XSHG</th>\n",
       "      <td>华纳药厂</td>\n",
       "      <td>HNYC</td>\n",
       "      <td>2021-07-13</td>\n",
       "      <td>2200-01-01</td>\n",
       "      <td>stock</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>688800.XSHG</th>\n",
       "      <td>瑞可达</td>\n",
       "      <td>RKD</td>\n",
       "      <td>2021-07-22</td>\n",
       "      <td>2200-01-01</td>\n",
       "      <td>stock</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>688819.XSHG</th>\n",
       "      <td>天能股份</td>\n",
       "      <td>TNGF</td>\n",
       "      <td>2021-01-18</td>\n",
       "      <td>2200-01-01</td>\n",
       "      <td>stock</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>688981.XSHG</th>\n",
       "      <td>中芯国际</td>\n",
       "      <td>ZXGJ</td>\n",
       "      <td>2020-07-16</td>\n",
       "      <td>2200-01-01</td>\n",
       "      <td>stock</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>689009.XSHG</th>\n",
       "      <td>九号公司</td>\n",
       "      <td>JHGS</td>\n",
       "      <td>2020-10-29</td>\n",
       "      <td>2200-01-01</td>\n",
       "      <td>stock</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>5432 rows × 5 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "            display_name   name start_date   end_date   type\n",
       "000001.XSHE         平安银行   PAYH 1991-04-03 2200-01-01  stock\n",
       "000002.XSHE          万科A    WKA 1991-01-29 2200-01-01  stock\n",
       "000004.XSHE        *ST国华  *STGH 1990-12-01 2200-01-01  stock\n",
       "000005.XSHE         ST星源   STXY 1990-12-10 2024-04-25  stock\n",
       "000006.XSHE         深振业A   SZYA 1992-04-27 2200-01-01  stock\n",
       "...                  ...    ...        ...        ...    ...\n",
       "688799.XSHG         华纳药厂   HNYC 2021-07-13 2200-01-01  stock\n",
       "688800.XSHG          瑞可达    RKD 2021-07-22 2200-01-01  stock\n",
       "688819.XSHG         天能股份   TNGF 2021-01-18 2200-01-01  stock\n",
       "688981.XSHG         中芯国际   ZXGJ 2020-07-16 2200-01-01  stock\n",
       "689009.XSHG         九号公司   JHGS 2020-10-29 2200-01-01  stock\n",
       "\n",
       "[5432 rows x 5 columns]"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "jqdatasdk.get_all_securities()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "49a5eeb7-ef26-4293-9182-beda691119ee",
   "metadata": {},
   "source": [
    "#### 1.2.2 获取行情数据\n",
    "* `get_price()`\n",
    "* param\n",
    "\n",
    "    security, 一支证券代码或者一个证券代码的list\n",
    "  \n",
    "    start_date=None,\n",
    "  \n",
    "    end_date=None,\n",
    "  \n",
    "    frequency='daily',\n",
    "  \n",
    "    fields=None,  默认是None(表示['open', 'close', 'high', 'low', 'volume', 'money']这几个标准字段), 支持以下属性 ['open', 'close', 'low', 'high', 'volume', 'money', 'factor', 'high_limit', 'low_limit', 'avg', 'pre_close', 'paused']\n",
    "  \n",
    "    skip_paused=False,\n",
    "  \n",
    "    fq='pre',\n",
    "  \n",
    "    count=None,\n",
    "  \n",
    "    panel=True,\n",
    "  \n",
    "    fill_paused=True,\n",
    "  \n",
    "    round=True,"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "a5afe792-cd21-42f5-ae07-277af71429c9",
   "metadata": {},
   "outputs": [],
   "source": [
    "security = '000001.XSHE'# 一支证券代码或者一个证券代码的list\n",
    "df = jqdatasdk.get_price(security, start_date='2025-1-1',end_date='2025-3-28')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "id": "dfafea17-4d4b-4fb3-97d5-f052f3376b9b",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>open</th>\n",
       "      <th>close</th>\n",
       "      <th>high</th>\n",
       "      <th>low</th>\n",
       "      <th>volume</th>\n",
       "      <th>money</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2025-01-02</th>\n",
       "      <td>11.37</td>\n",
       "      <td>11.08</td>\n",
       "      <td>11.41</td>\n",
       "      <td>11.04</td>\n",
       "      <td>187660786.0</td>\n",
       "      <td>2.102923e+09</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2025-01-03</th>\n",
       "      <td>11.09</td>\n",
       "      <td>11.03</td>\n",
       "      <td>11.19</td>\n",
       "      <td>11.01</td>\n",
       "      <td>119085841.0</td>\n",
       "      <td>1.320521e+09</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2025-01-06</th>\n",
       "      <td>11.03</td>\n",
       "      <td>11.09</td>\n",
       "      <td>11.13</td>\n",
       "      <td>10.88</td>\n",
       "      <td>111954788.0</td>\n",
       "      <td>1.234306e+09</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2025-01-07</th>\n",
       "      <td>11.07</td>\n",
       "      <td>11.16</td>\n",
       "      <td>11.18</td>\n",
       "      <td>11.02</td>\n",
       "      <td>77129461.0</td>\n",
       "      <td>8.583290e+08</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2025-01-08</th>\n",
       "      <td>11.15</td>\n",
       "      <td>11.15</td>\n",
       "      <td>11.28</td>\n",
       "      <td>11.05</td>\n",
       "      <td>109567225.0</td>\n",
       "      <td>1.223599e+09</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "             open  close   high    low       volume         money\n",
       "2025-01-02  11.37  11.08  11.41  11.04  187660786.0  2.102923e+09\n",
       "2025-01-03  11.09  11.03  11.19  11.01  119085841.0  1.320521e+09\n",
       "2025-01-06  11.03  11.09  11.13  10.88  111954788.0  1.234306e+09\n",
       "2025-01-07  11.07  11.16  11.18  11.02   77129461.0  8.583290e+08\n",
       "2025-01-08  11.15  11.15  11.28  11.05  109567225.0  1.223599e+09"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.shape\n",
    "df.head()\n",
    "# df.info()\n",
    "# df.to_csv('./000001(20250101-20250328).csv')"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "dbf46724-8ee4-4c65-8da4-7d9b05fc44e9",
   "metadata": {},
   "source": [
    "## 2 股票常用指标"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "05959a32-e1d7-4c1a-865f-8b21b6617ac6",
   "metadata": {},
   "source": [
    "### 2.1 极差\n",
    "股价近期最高价的最大值和最小值的差值\n",
    "* np.ptp()函数可以直接得到极差\n",
    "* 越高说明波动越明显"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "id": "dfbc7897-9bfb-473b-8897-57d8a6b91ea4",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>open</th>\n",
       "      <th>close</th>\n",
       "      <th>high</th>\n",
       "      <th>low</th>\n",
       "      <th>volume</th>\n",
       "      <th>money</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2025-01-02</th>\n",
       "      <td>11.37</td>\n",
       "      <td>11.08</td>\n",
       "      <td>11.41</td>\n",
       "      <td>11.04</td>\n",
       "      <td>187660786.0</td>\n",
       "      <td>2.102923e+09</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2025-01-03</th>\n",
       "      <td>11.09</td>\n",
       "      <td>11.03</td>\n",
       "      <td>11.19</td>\n",
       "      <td>11.01</td>\n",
       "      <td>119085841.0</td>\n",
       "      <td>1.320521e+09</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2025-01-06</th>\n",
       "      <td>11.03</td>\n",
       "      <td>11.09</td>\n",
       "      <td>11.13</td>\n",
       "      <td>10.88</td>\n",
       "      <td>111954788.0</td>\n",
       "      <td>1.234306e+09</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2025-01-07</th>\n",
       "      <td>11.07</td>\n",
       "      <td>11.16</td>\n",
       "      <td>11.18</td>\n",
       "      <td>11.02</td>\n",
       "      <td>77129461.0</td>\n",
       "      <td>8.583290e+08</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2025-01-08</th>\n",
       "      <td>11.15</td>\n",
       "      <td>11.15</td>\n",
       "      <td>11.28</td>\n",
       "      <td>11.05</td>\n",
       "      <td>109567225.0</td>\n",
       "      <td>1.223599e+09</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "             open  close   high    low       volume         money\n",
       "2025-01-02  11.37  11.08  11.41  11.04  187660786.0  2.102923e+09\n",
       "2025-01-03  11.09  11.03  11.19  11.01  119085841.0  1.320521e+09\n",
       "2025-01-06  11.03  11.09  11.13  10.88  111954788.0  1.234306e+09\n",
       "2025-01-07  11.07  11.16  11.18  11.02   77129461.0  8.583290e+08\n",
       "2025-01-08  11.15  11.15  11.28  11.05  109567225.0  1.223599e+09"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 例：以numpy实现\n",
    "import numpy as np\n",
    "import pandas as pd\n",
    "file_name = './000001(20250101-20250328).csv'\n",
    "df = pd.read_csv(file_name,index_col=0)\n",
    "df.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "id": "1085ea9c-2e78-40b9-ba04-5c2ee88db34d",
   "metadata": {},
   "outputs": [],
   "source": [
    "# end_price ,volumn = np.loadtxt(\n",
    "#     fname=file_name,\n",
    "#     delimiter=',',\n",
    "#     usecols=(1,4),\n",
    "#     unpack=True, # 是否解包\n",
    "# )"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "id": "80801995-67e4-477d-ba61-2c2881fa397b",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "max_price: 11.64\n",
      "min_price: 10.74\n"
     ]
    }
   ],
   "source": [
    "# 计算最大值和最小值\n",
    "high_price = df['high'].values\n",
    "low_price = df['low'].values\n",
    "# print(high_price)\n",
    "# print(low_price)\n",
    "print(f'max_price: {np.max(high_price)}')\n",
    "print(f'min_price: {np.min(low_price)}')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "id": "6516bcfa-e413-406e-94ce-b43ba736f363",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "max - min of high price: 0.7200000000000006\n",
      "max - min of low price: 0.7200000000000006\n"
     ]
    }
   ],
   "source": [
    "# 计算极差\n",
    "print(f'max - min of high price: {np.ptp(high_price)}')\n",
    "print(f'max - min of low price: {np.ptp(low_price)}')"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "f7fa141e-a142-49a1-8533-1a269d86b5b1",
   "metadata": {},
   "source": [
    "### 2.2 成交量加权平均价格\n",
    "英文名VWAP(Volume-Weighted Average Price,成交量加权平均价格)是一个非常重要的经济学量，代表着金融资产的“平均价格”\n",
    "* 若是计算某一证券在某交易日的VWAP，将当日成交总值除以总成交量即可\n",
    "* VWAP可作为交易定价的一种方法，亦可作为衡量机构投资者或交易商的交易表现的尺度"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "2ac7d7e1-3e69-4e04-8bd3-5718a5455d41",
   "metadata": {},
   "source": [
    "* 计算成交量加权平均价格"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "id": "235bc5eb-f6a2-45db-998f-429298332502",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "avg_price = 11.149464285714284\n",
      "VWAP = 11.16728408559643\n"
     ]
    }
   ],
   "source": [
    "# 计算成交量加权平均价格\n",
    "# 设计两个重要指标，收盘价和成交量\n",
    "end_price = df['close'].values # 收盘价\n",
    "volumn = df['volume'].values # 成交量\n",
    "\n",
    "avg_price = np.average(end_price) # 平均价格\n",
    "VWAP = np.average(end_price, weights=volumn) # 成交量加权平均价格\n",
    "\n",
    "print(f'avg_price = {avg_price}')\n",
    "print(f'VWAP = {VWAP}')"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "5e9195f7-9ee7-4660-800f-c205c64476b3",
   "metadata": {},
   "source": [
    "* 计算中位数\n",
    "  * 又称中点数，中值。中位数是按顺序排列的一组数据中居于中间位置的数，即在这组数据中，有一半的数据比他大，有一半的数据比他小\n",
    "  * 计算收盘价的中位数"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "id": "22629ca4-4b14-4c0e-9de1-a2f27c680dfd",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "median = 11.135000000000002\n"
     ]
    }
   ],
   "source": [
    "end_price = df['close'].values # 收盘价\n",
    "print(f'median = {np.median(end_price)}')"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "7cbf488a-7788-4f07-adb6-dc540641f474",
   "metadata": {},
   "source": [
    "* 计算方差\n",
    "  * 方差在金融与投资分析中用于衡量资产收益波动与金融资产的风险高低，方差越大风险越高，方差越小风险越低\n",
    "  * 计算收盘价的方差"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "id": "86e2227b-19f3-4f53-80bb-91c4f9cfc5a0",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "var = 0.024355070153061226\n"
     ]
    }
   ],
   "source": [
    "var = np.var(end_price)\n",
    "print(f'var = {var}')"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "1b89d81c-5a8d-4028-abf3-926c08737d78",
   "metadata": {},
   "source": [
    "### 2.3 收益率\n",
    "* 简单收益率，相邻两个价格之间的变化率\n",
    "* 对数收益率,指所有价格取对数后两两之间的差值"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "id": "bed1d5cd-794b-4d10-8cfb-874abc0617c8",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "log_return =  [-0.00452285  0.00542497  0.00629216 -0.00089646 -0.00900907 -0.00817815\n",
      " -0.00916597  0.01553252  0.00902533  0.00805373 -0.01075279 -0.00270636\n",
      " -0.00725298 -0.02208001  0.02116968  0.00181984  0.01085002 -0.00903349\n",
      " -0.00090785  0.00181488  0.00452285 -0.00090293  0.          0.00720075\n",
      "  0.00447428  0.01945243  0.00262353 -0.00877199 -0.00353045 -0.00176991\n",
      " -0.00443853 -0.01073356  0.00448632  0.00891271 -0.00801786 -0.00179051\n",
      "  0.          0.01335133 -0.00265604  0.00353983 -0.00709223  0.00177778\n",
      "  0.02022047 -0.0008707   0.0112604  -0.0404273  -0.00089726  0.00268938\n",
      " -0.00268938 -0.00630349 -0.00361991  0.00452285 -0.00452285  0.00090621\n",
      " -0.00272109]\n"
     ]
    }
   ],
   "source": [
    "end_price = df['close'].values # 收盘价\n",
    "# 对数收益率\n",
    "log_return = np.diff(np.log(end_price))\n",
    "print('log_return = ',log_return)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "20a1ffae-9842-4bd9-a937-a24fdc24d3a7",
   "metadata": {},
   "source": [
    "### 2.4 波动率\n",
    "波动率是对价格变动的一种衡量\n",
    "* 越高说明波动越明显"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "307b0b15-efd9-4514-9e41-f7d7f286e93b",
   "metadata": {},
   "source": [
    "#### 2.4.1 年波动率\n",
    "对数波动率的标准差除以其平均值，再除以交易日倒数的平方根，通常交易日取250天。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "id": "72f48479-9ad1-479b-b6c9-eb3f65c5bfb2",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "annual_volatility =  -5393927.424667589\n"
     ]
    }
   ],
   "source": [
    "# 年度收益率\n",
    "annual_volatility = log_return.std() / log_return.mean() * np.square(250)\n",
    "print('annual_volatility = ',annual_volatility)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "8203cf04-12a0-4851-9386-5def6444b6cc",
   "metadata": {},
   "source": [
    "#### 2.4.2 月波动率\n",
    "对数波动率的标准差除以其平均值，再除以交易日倒数的平方根，通常交易日取12月。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "id": "918f5bfd-fd45-4937-9d25-e6931ded3796",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "mounth_volatility =  -12427.608786434126\n"
     ]
    }
   ],
   "source": [
    "mounth_volatility = log_return.std() / log_return.mean() * np.square(12)\n",
    "print('mounth_volatility = ',mounth_volatility)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "dd896386-686a-47eb-a8b9-9bfabdaaf740",
   "metadata": {},
   "source": [
    "### 2.5 股价均线"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "37d41e3d-97f7-4887-a4f2-c386cae581d2",
   "metadata": {},
   "source": [
    "> **卷积**\n",
    "> * 卷积可用于描述过去作用对当前的影响\n",
    "> * 卷积是时空响应的叠加，可用作计算“滑动平均”"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "eae2488b-2711-4c19-8c7c-493c70e620ed",
   "metadata": {},
   "source": [
    "#### 2.5.1 简单移动均线\n",
    "一般用于分析时间序列上的股价趋势\n",
    "\n",
    "计算股价与等权重的指示函数的卷积"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "1fa59342-f373-4f52-85d2-1204b5305fc8",
   "metadata": {},
   "source": [
    "```mermaid\n",
    "graph LR;\n",
    "    A(生成权重) --> B(卷积计算);\n",
    "    B --> C(均线可视化);\n",
    "  "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "id": "6ecf412a-4f6a-4581-a643-8c527a3f3ad7",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([11.102, 11.096, 11.082, 11.036, 11.01 , 11.006, 11.04 , 11.068,\n",
       "       11.11 , 11.102, 11.026, 10.978, 10.958, 10.968, 10.974, 11.026,\n",
       "       11.036, 11.052, 11.042, 11.052, 11.08 , 11.114, 11.182, 11.258,\n",
       "       11.314, 11.346, 11.364, 11.328, 11.262, 11.226, 11.218, 11.196,\n",
       "       11.18 , 11.188, 11.216, 11.218, 11.246, 11.262, 11.282, 11.318,\n",
       "       11.358, 11.416, 11.398, 11.374, 11.31 , 11.242, 11.134, 11.11 ,\n",
       "       11.098, 11.07 , 11.05 , 11.038])"
      ]
     },
     "execution_count": 19,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 5日均线\n",
    "end_price = df['close'].values # 收盘价\n",
    "N = 5\n",
    "weights = np.ones(N) / N # 生成等权重\n",
    "\n",
    "sma = np.convolve(weights, end_price)[N-1:-N+1] # 卷积计算\n",
    "sma\n",
    "\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "id": "036b6436-eefd-45d9-aedb-5f1b58be42f8",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x24017376850>]"
      ]
     },
     "execution_count": 20,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.plot(sma,lw=2)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "b759d62a-99a4-4201-bb4b-851ef90b65bb",
   "metadata": {},
   "source": [
    "#### 2.5.2 指数移动均线\n",
    "历史数据的权重以指数速度衰减\n",
    "\n",
    "计算股价与权重衰减的指示函数的卷积"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "ee0dfddf-8cc2-40f4-a3f5-36788035aa20",
   "metadata": {},
   "source": [
    "```mermaid\n",
    "graph LR;\n",
    "    A(权重初始化) --> B(权重衰减);\n",
    "    B --> C(卷积运算);\n",
    "     C --> D(均线可视化);"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "id": "52e7db73-61f3-4839-abfa-bf34bb086265",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([11.08950718, 11.08878594, 11.09749909, 11.07339736, 11.03397341,\n",
       "       10.9987379 , 11.00356678, 11.03190796, 11.10468484, 11.12133521,\n",
       "       11.07553491, 11.00713098, 10.96934874, 10.94646376, 10.93751989,\n",
       "       11.02043349, 11.03762017, 11.05742931, 11.0339551 , 11.04362124,\n",
       "       11.06913763, 11.09964234, 11.14399851, 11.20835524, 11.27958584,\n",
       "       11.33463963, 11.38314527, 11.35214847, 11.2867194 , 11.24821698,\n",
       "       11.226107  , 11.19541418, 11.17362662, 11.19341997, 11.21603894,\n",
       "       11.20185313, 11.22402708, 11.25133645, 11.2886834 , 11.30315807,\n",
       "       11.3325457 , 11.36918371, 11.3956106 , 11.42044137, 11.36418871,\n",
       "       11.29251812, 11.14075781, 11.1244467 , 11.11318612, 11.08108244,\n",
       "       11.05294328, 11.0412557 ])"
      ]
     },
     "execution_count": 21,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "\n",
    "N = 5\n",
    "weights = np.exp(np.linspace(-1, 0 , N)) # 线性衰减\n",
    "# 归一化\n",
    "weights /= weights.sum()\n",
    "\n",
    "#计算指数移动均线\n",
    "ema = np.convolve(weights, end_price)[N-1:-N+1]\n",
    "ema"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "id": "9bbb6227-ca1d-4f57-b337-31d8e4be3572",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.legend.Legend at 0x24017423cb0>"
      ]
     },
     "execution_count": 22,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "t = np.arange(N-1, len(end_price))\n",
    "\n",
    "plt.plot(t,end_price[N-1:], lw=1, label='end_price')\n",
    "plt.plot(t, sma,lw=1, label='sma')\n",
    "plt.plot(t, ema,lw=1, label='ema')\n",
    "plt.legend()\n"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "183f3743-97ea-4211-9b4b-84946b7d0879",
   "metadata": {},
   "source": [
    "### 2.6 股票时间序列\n",
    "* **金融领域最重要的数据类型之一**\n",
    "* 股价、汇率最为常见的序列数据\n",
    "* 趋势分析：\n",
    "  * 主要分析时间序列在某一方向上持续运动\n",
    "* 序列相关性\n",
    "  * 金融时间序列的一个最重要特征是序列相关性"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "dda8e8aa-8416-4a17-85e1-166b348231ca",
   "metadata": {},
   "source": [
    "**Pandas时间序列函数：**\n",
    "* datatime：时间序列最常用的数据类型，方便进行各种时间类型运算\n",
    "\n",
    "**loc函数：**\n",
    "* Pandas中对DateFrame进行筛选的函数，相当于SQL中的where\n",
    "\n",
    "**groupby函数：**\n",
    "* Pandas中对数据进行分组，相当于SQL中的GroupBy"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "id": "a519540e-25a0-4a8d-aa5e-c4161daf260a",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>date</th>\n",
       "      <th>open</th>\n",
       "      <th>close</th>\n",
       "      <th>high</th>\n",
       "      <th>low</th>\n",
       "      <th>volume</th>\n",
       "      <th>money</th>\n",
       "      <th>year</th>\n",
       "      <th>month</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>2025-01-02</td>\n",
       "      <td>11.37</td>\n",
       "      <td>11.08</td>\n",
       "      <td>11.41</td>\n",
       "      <td>11.04</td>\n",
       "      <td>187660786.0</td>\n",
       "      <td>2.102923e+09</td>\n",
       "      <td>2025</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>2025-01-03</td>\n",
       "      <td>11.09</td>\n",
       "      <td>11.03</td>\n",
       "      <td>11.19</td>\n",
       "      <td>11.01</td>\n",
       "      <td>119085841.0</td>\n",
       "      <td>1.320521e+09</td>\n",
       "      <td>2025</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>2025-01-06</td>\n",
       "      <td>11.03</td>\n",
       "      <td>11.09</td>\n",
       "      <td>11.13</td>\n",
       "      <td>10.88</td>\n",
       "      <td>111954788.0</td>\n",
       "      <td>1.234306e+09</td>\n",
       "      <td>2025</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>2025-01-07</td>\n",
       "      <td>11.07</td>\n",
       "      <td>11.16</td>\n",
       "      <td>11.18</td>\n",
       "      <td>11.02</td>\n",
       "      <td>77129461.0</td>\n",
       "      <td>8.583290e+08</td>\n",
       "      <td>2025</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>2025-01-08</td>\n",
       "      <td>11.15</td>\n",
       "      <td>11.15</td>\n",
       "      <td>11.28</td>\n",
       "      <td>11.05</td>\n",
       "      <td>109567225.0</td>\n",
       "      <td>1.223599e+09</td>\n",
       "      <td>2025</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "        date   open  close   high    low       volume         money  year  \\\n",
       "0 2025-01-02  11.37  11.08  11.41  11.04  187660786.0  2.102923e+09  2025   \n",
       "1 2025-01-03  11.09  11.03  11.19  11.01  119085841.0  1.320521e+09  2025   \n",
       "2 2025-01-06  11.03  11.09  11.13  10.88  111954788.0  1.234306e+09  2025   \n",
       "3 2025-01-07  11.07  11.16  11.18  11.02   77129461.0  8.583290e+08  2025   \n",
       "4 2025-01-08  11.15  11.15  11.28  11.05  109567225.0  1.223599e+09  2025   \n",
       "\n",
       "   month  \n",
       "0      1  \n",
       "1      1  \n",
       "2      1  \n",
       "3      1  \n",
       "4      1  "
      ]
     },
     "execution_count": 23,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 读取数据\n",
    "file_name = './000001(20250101-20250328).csv'\n",
    "df = pd.read_csv(file_name).rename(columns={'Unnamed: 0':'date'})\n",
    "\n",
    "# 时间格式转化,并生成年，月列\n",
    "df['date'] = pd.to_datetime(df['date'])\n",
    "df['year'] = df['date'].dt.year\n",
    "df['month'] = df['date'].dt.month\n",
    "df.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "id": "507416c7-952d-4d3c-b3fd-eb71f11df328",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "close min : 10.75\n",
      "close min index: 14\n",
      "close min frame: date      2025-01-22 00:00:00\n",
      "open                    10.98\n",
      "close                   10.75\n",
      "high                    10.99\n",
      "low                     10.74\n",
      "volume            138933692.0\n",
      "money           1504818607.18\n",
      "year                     2025\n",
      "month                       1\n",
      "Name: 14, dtype: object\n"
     ]
    }
   ],
   "source": [
    "# 计算最低收盘价\n",
    "print(f'close min : {df['close'].min()}')\n",
    "print(f'close min index: {df['close'].idxmin()}') # 最低收盘价所在的行\n",
    "print(f'close min frame: {df.loc[df['close'].idxmin()]}')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "id": "8f66bbe2-c4da-4a65-aade-3d610914eb0b",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "month close mean : month\n",
      "1    11.042778\n",
      "2    11.190556\n",
      "3    11.208500\n",
      "Name: close, dtype: float64\n",
      "month open mean : month\n",
      "1    11.064444\n",
      "2    11.183889\n",
      "3    11.191500\n",
      "Name: open, dtype: float64\n"
     ]
    }
   ],
   "source": [
    "# 计算每月平均收盘价与开盘价\n",
    "print(f'month close mean : {df.groupby('month')['close'].mean()}')\n",
    "print(f'month open mean : {df.groupby('month')['open'].mean()}')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "id": "b9b866bd-9945-4be7-b003-5f637e6c6ede",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>date</th>\n",
       "      <th>open</th>\n",
       "      <th>close</th>\n",
       "      <th>high</th>\n",
       "      <th>low</th>\n",
       "      <th>volume</th>\n",
       "      <th>money</th>\n",
       "      <th>year</th>\n",
       "      <th>month</th>\n",
       "      <th>rise</th>\n",
       "      <th>rise_ratio</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>2025-01-02</td>\n",
       "      <td>11.37</td>\n",
       "      <td>11.08</td>\n",
       "      <td>11.41</td>\n",
       "      <td>11.04</td>\n",
       "      <td>187660786.0</td>\n",
       "      <td>2.102923e+09</td>\n",
       "      <td>2025</td>\n",
       "      <td>1</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>2025-01-03</td>\n",
       "      <td>11.09</td>\n",
       "      <td>11.03</td>\n",
       "      <td>11.19</td>\n",
       "      <td>11.01</td>\n",
       "      <td>119085841.0</td>\n",
       "      <td>1.320521e+09</td>\n",
       "      <td>2025</td>\n",
       "      <td>1</td>\n",
       "      <td>-0.05</td>\n",
       "      <td>-0.004509</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>2025-01-06</td>\n",
       "      <td>11.03</td>\n",
       "      <td>11.09</td>\n",
       "      <td>11.13</td>\n",
       "      <td>10.88</td>\n",
       "      <td>111954788.0</td>\n",
       "      <td>1.234306e+09</td>\n",
       "      <td>2025</td>\n",
       "      <td>1</td>\n",
       "      <td>0.06</td>\n",
       "      <td>0.005376</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>2025-01-07</td>\n",
       "      <td>11.07</td>\n",
       "      <td>11.16</td>\n",
       "      <td>11.18</td>\n",
       "      <td>11.02</td>\n",
       "      <td>77129461.0</td>\n",
       "      <td>8.583290e+08</td>\n",
       "      <td>2025</td>\n",
       "      <td>1</td>\n",
       "      <td>0.07</td>\n",
       "      <td>0.006278</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>2025-01-08</td>\n",
       "      <td>11.15</td>\n",
       "      <td>11.15</td>\n",
       "      <td>11.28</td>\n",
       "      <td>11.05</td>\n",
       "      <td>109567225.0</td>\n",
       "      <td>1.223599e+09</td>\n",
       "      <td>2025</td>\n",
       "      <td>1</td>\n",
       "      <td>-0.01</td>\n",
       "      <td>-0.000905</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "        date   open  close   high    low       volume         money  year  \\\n",
       "0 2025-01-02  11.37  11.08  11.41  11.04  187660786.0  2.102923e+09  2025   \n",
       "1 2025-01-03  11.09  11.03  11.19  11.01  119085841.0  1.320521e+09  2025   \n",
       "2 2025-01-06  11.03  11.09  11.13  10.88  111954788.0  1.234306e+09  2025   \n",
       "3 2025-01-07  11.07  11.16  11.18  11.02   77129461.0  8.583290e+08  2025   \n",
       "4 2025-01-08  11.15  11.15  11.28  11.05  109567225.0  1.223599e+09  2025   \n",
       "\n",
       "   month  rise  rise_ratio  \n",
       "0      1   NaN         NaN  \n",
       "1      1 -0.05   -0.004509  \n",
       "2      1  0.06    0.005376  \n",
       "3      1  0.07    0.006278  \n",
       "4      1 -0.01   -0.000905  "
      ]
     },
     "execution_count": 26,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 计算涨跌幅\n",
    "# 今日收盘价减去昨日收盘价\n",
    "df['rise'] = df['close'].diff()\n",
    "# 涨跌幅比率：涨跌幅除以上一天的收盘价\n",
    "df['rise_ratio'] = df['rise'] / df.shift(-1)['close']\n",
    "df.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "a832708f-cb02-4596-908d-74478d01e4f1",
   "metadata": {},
   "source": [
    "### 2.7 K线图\n",
    "* 能显示股价的强弱、多空双方的力量对比，是技术分析最常见的工具\n",
    "* 类库：\n",
    "  * matplotlib: Python的2D绘图库\n",
    "  * mpl_finance: 可以用来画蜡烛图、线图的分析工作，脱胎于matplotlib库，目前已经从matplotlib中独立出来\n",
    "  * 安装mpl_finance库 `pip install mpl_finance -i https://pypi.tuna.tsinghua.edu.cn/simple/‌‌`\n",
    "  * 带成交量的蜡烛图需安装mplfinance库`pip install mplfinance -i https://pypi.tuna.tsinghua.edu.cn/simple/‌‌`"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "id": "d3eb2863-acfe-432f-95f7-688a9972ee7f",
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "D:\\00石金峰\\00study\\.venv\\Lib\\site-packages\\mpl_finance.py:16: DeprecationWarning: \n",
      "\n",
      "  =================================================================\n",
      "\n",
      "   WARNING: `mpl_finance` is deprecated:\n",
      "\n",
      "    Please use `mplfinance` instead (no hyphen, no underscore).\n",
      "\n",
      "    To install: `pip install --upgrade mplfinance` \n",
      "\n",
      "   For more information, see: https://pypi.org/project/mplfinance/\n",
      "\n",
      "  =================================================================\n",
      "\n",
      "  __warnings.warn('\\n\\n  ================================================================='+\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "Text(0.5, 1.0, 'K-line')"
      ]
     },
     "execution_count": 27,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAA9sAAAH1CAYAAADmsO2zAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjMsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvZiW1igAAAAlwSFlzAAAPYQAAD2EBqD+naQAARm1JREFUeJzt3Qt4HXWdN/BfCmlDoV2CFbosLe0rVeCVGkCWi4JWKUgtPOiCIroLK68oKpcXkNsWBSwCilpwcV9FlIuC7qrAuoBQ1hZRboWlFLygRUrRAqVY2obSNtB5nxlMbJKTdiaZ5JzkfD7Pk6b5n5NkzvecmZzfzP/SkCRJEgAAAEBphpX3owAAAICUYhsAAABKptgGAACAkim2AQAAoGSKbQAAACiZYhsAAABKptgGAACAkim2AQAAoGSKbQAAACiZYhsAatDcuXOjoaEh5s+f39F24YUXxrBhw+L2228v9LMmTJgQV199dY+3H3vssdkHAFCezUv8WQBAP5k3b16cd955cfrpp8fBBx9c6s9Ofy4AUC7FNgDUuJdeeik+/OEPx5577pld3S5beuUbACiXYhsAatxJJ50US5cuzbqPNzY2VntzAIAcjNkGgBr24x//OL797W/HpZdeGhMnTszakiSJV155pcePonoas90+1vuiiy6KsWPHRnNzc5x44onZ72931113xd577x1bbLFF7LLLLnHDDTf08REDwNCg2AaAGvaFL3wh+/zQQw91tF1zzTXZFe6ePso0a9asuPnmm+Oqq66KM844I/71X/81brnlluy23/3ud3HQQQdFS0tLdtX9iCOOiKOPPjr++7//u9RtAIDBSDdyAKhhb3jDG+Ld7353VuyeddZZseOOO8Zhhx0WDz/88ID8/rT7elpUb7XVVvHe9743vvvd78YjjzwS06dPz654p1ezv/GNb2T3PeCAA7JC/Nprr822GQDqmWIbAGrY5ZdfHrvvvnt2NXvmzJlx5ZVXxjbbbJN9DIS0e3laaLd7/etfH21tbdn/FyxYkBXe6RJlG2pqahqQbQOAWqbYBoAatt1228W2224bJ5xwQlx22WVxzjnndIzdHqgr6xtz+OGHx+c+97lObSNHjuznrQKA2mfMNgAMAul46eHDh8cFF1wwoL93s8026/G2N7/5zbF48eJszHb7xy9/+UuTpAGAYhsABof2q9vXXXddLFy4MGrB2WefHY8++mgcf/zxMXfu3Gzs9umnnx6jRo2q9qYBQNUptgFgEF3dHjFiRJx//vlRC3beeef46U9/GvPnz4+DDz44Lr744mzbTj311GpvGgBUXUOy4WKZAAAAQJ+5sg0AAAAlU2wDAABAyRTbAAAAUDLFNgAAAJRMsQ0AAAAlU2wDAABAyTaPQWz9+vWxZMmSGDVqVDQ0NFR7cwAAABjikiSJVatWxfbbbx/Dhg0bmsV2WmiPGzeu2psBAABAnXn66adjhx12GJrFdnpFu/1Bjh49OmpVW1tb3HHHHXHQQQdFY2NjtTenpsmqGHnlJ6ti5JWfrIqRV36yKkZe+cmqGHnlVy9ZrVy5Mrvo216PDsliu73reFpo13qxPXLkyGwbh/KLrgyyKkZe+cmqGHnlJ6ti5JWfrIqRV36yKkZe+dVbVg2bGMpsgjQAAAAomWIbAAAASqbYBgAAgJIptgEAAKBkim0AAAAomWIbAAAASqbYBgAAgJIptgEAAKBkim0AAAAomWIbAAAASqbYBgAAgJIptgEAAKBkim0AAAAomWIbAAAASqbYBgCAOrPfjBnV3gQY8hTbAAAAUDLFNgAAAJRMsQ0AAAAlU2wDAABAyRTbAAAAUDLFNgAAAJRMsQ0AAAAlU2wDAABAyRTbAAAAUDLFNgAAAFS72F62bFlMnDgxFi1alKs9jw9+8INx4oknFv4+AAAAqEWbF7lzWlBPnz69YqFdqT2PW2+9NebOnRuPP/544e8FAAA2obm589dNTRFjxkSMHx+xZk33+y9fPmCbBkNZoWL7qKOOiqOPPjruv//+XO2b8tJLL8UnP/nJuOiii2Lrrbcu9L0AAEBOLS1//f/w4RFLlkRMnhyxbl3n+82fP+CbBkNVoW7kV155ZZx00km52zfl/PPPj3Xr1sXmm28es2fPjvXr1xf+GQAAADCor2ynY7KLtG/MU089FZdddlm89a1vjT/84Q8xa9as2GGHHeKmm26KYcMqnwNYu3Zt9tFu5cqV2ee2trbso1a1b1stb2OtkFUx8spPVsXIKz9ZFSOv/GRVjLw2Iu02nl7N/ou2xsZOn7vdV4adeG3lVy9ZteV8fA1JkiRFf3hDQ0M8+eSTMWHChFztlVxwwQXxrW99K373u99FU1NTrFq1Knbcccf4/ve/HwcddFDF7znvvPOyq+FdXX/99TFy5MiiDwMABrX9ZsyIe2bOrPZmAIOQ4wf03urVq7Nh1CtWrIjRo0eXc2W7TH/84x/jwAMPzArt1KhRo2LSpEmxcOHCHovts88+O0499dROV7bHjRuX3X9jD7IWznyk3eSnTp0ajZXOINJBVsXIKz9ZFSOvwZHVZl/9akybNi0GE6+t/GRVjLw2Ip0ILR2f/RfpFe2XImLqlVdGY9crdAsWRCxePPDbWMO8tvKrl6xW/qWH9aZUrdhOu4z/5je/6fg6Ha+dFuB/93d/1+P3jBgxIvvoKn0iB8OTOVi2sxbIqhh55SerYuRV41k1NMSwQfr8eG3lJ6ti5FVBOuN414nQ0qza2qKxa3t6X/lV5LWV31DPqjHnY9t8IKr+LbbYotsGHXnkkdl47R/96Eex9957x9e+9rXsTEh6tRsAAADqZjby3pg8eXLccsst3dp32WWXuOGGG7Kx22n38XS97Ztvvjm23HLL/t4kAAAA6Fe9urLd05xqldoXLVrU48857LDDsg8AAAAYSvr9yjYAAADUG8U2AAAAlEyxDQAAACVTbAMAAEDJFNsAAABQMsU2AAAAlEyxDQAAACVTbAMAAEDJFNsAAABQMsU2AAAAlEyxDQAAACVTbAMAAEDJFNsAAABQMsU2AAAMRlOmVHsLgI1QbAMAAEDJFNsAAABQMsU2AAAAlEyxDQAAACVTbAMAAEDJFNsAAABQMsU2AAAAlEyxDQAAACVTbAMAAEDJFNsAAABQMsU2AAAAlEyxDQAAACVTbAMAAEDJFNsAAABQMsU2AAAAlEyxDQAA1TJlSrW3AOgnim0AAAAomWIbAAAASqbYBgAAgJIptgEAAKBkim0AAAAomWIbAAAASqbYBgAAgJJtXvYPBAAAumhurtze2trzbcuX9+smAf1LsQ0AAAOhpaV72/z5PbcDg5pu5AAAAFAyxTYAAACUTDdyAACoZcZ7w6Ck2AYAgFpnvDcMOrqRAwAAQMkU2wAAAFAyxTYAAACUTLENAAAAJVNsAwAAQMnMRg4AAEPdhjOUNzVFjBkTsWBBxJo11dwqGNIU2wAAMJR1XXO7rS3uufXWmDZtWkRjY7W2CoY83cgBAACgZIptAAAAKJlu5AAwGDQ3d29rba3cXqnbaAVTrpkSc46ZU8LGAQM65nrDY0CldqAmKLYBYLBoaen8dfomu2tbezswdPR08mzKlIg5TphBrdKNHAAAAEqm2AYAAICS6UYOANU0AN1Amy+pPK67dV1rxduWn7np8d4AwMYptgGgDrSM7T62e/6z87u1p20AQN/pRg4AAAAlU2wDAABAyRTbAAAAUDLFNgAAAJRMsQ0AAAAlU2wDAABAySz9BQADpbnCetetrZXbU8utdw0Ag5ViGwAGUkuX9a7nz+/e1t4OsDFz5lR7C4CN0I0cAAAAql1sL1u2LCZOnBiLFi3K1Z5HW1tb7LbbbjF37tzC3wsAAACDuthOC+rp06dXLLQrtef1xS9+MR577LEYymYsnFHtTQAAAKAWi+2jjjoqjj766Nztefz+97+PSy+9NCZMmNCr7wcAAIBBXWxfeeWVcdJJJ+Vuz+PjH/94nHXWWbHjjjv26vsBAABgUM9Gno7JLtK+Kd/5zndixYoVcfrpp8dtt922yfuvXbs2+2i3cuXKjjHf6Uetat+2Wt7GWiGrYuSVn6yKkVc/ZdXUFDF8eKemzRoa4tUubR333fBn9uF7m4Y1xfDofr+GaOjWnt63P593r638ZDXE8qqwDxc6BtRTVjVGXvnVS1ZtOR9fQ5IkSdEf3tDQEE8++WS3rt89tVfy/PPPZ5Oi3X777fGWt7wl3vnOd8Z5552Xfe5Jevv555/frf3666+PkSNHRq2P2Z6508xqbwYANWa/GTPinpkzB/x7+/q3yd81KEdf92Ng4K1evTobRp1eOB49enTtFdsf/vCHs/tdeOGF2dd5iu1KV7bHjRuXTdC2sQdZC2c+9v63veP+E+6PxsbGam9OTUuzmj17dkydOlVWOcgrP1kVI69+ymr8+IjJkzs1bTZvXry6117d77tgQcTixaVs4/hZ42Pytp1/b2res/Nir7Gdf/eCpQti8Smb/r1Tvzs1Zn9kduFt8drKT1ZDLK8K+/9AHQMGXVY1Rl751UtWK1eujDFjxmyy2C7UjbxM6dXoUaNGxRVXXJF93drams1oPmPGjGwMdyUjRozIPrpKn8jB8GQOlu2sBbIqRl75yaoYeZWc1Zo1EevWdW5LkhjWta39viVlv2b9mlgX3X9HEkm39vS+eZ7zhmENfXpteG3lJ6shklel/X+AjgGDLqsaJa/8hnpWjTkf2+YDUfVvscUW3TYovQLedUbzU045Jd7znvf09yYBAABA7cxG3huTJ0+OW265pVt72oV8w4+mpqYYO3ZsbL311v29SQAAANCvenVlu6dh3pXaFy1alOtnzp07tzebAgAAAPV3ZRsAAADqjWIbAAAASqbYBgAAgJIptgEAAKBkim0AAAAoWb+vs11vmi9p7tbWNKwpxgwbE+NnjY8169d0u335mcsHaOsAAAAYCIrtftAytqXT18NjeCxZtiQmbzs51sW6TrfNf3b+AG8dAAAA/U03cgAAACiZYhsAAABKptgGAACAkim2AQAAoGSKbQAAACiZYhsAAABKZukvAKgDlZaabF3XusklKJsvaa7Ynn5vpduWn7l8k9syY+GMmBbTNnk/ABjMFNsAMMT1VABPuWZKzDlmzia/v2VsS7e2tEjv2r6pwh0A6olu5AAAAFAyxTYAAACUTLENAEDNSIc3AAwFim0AAAAomWIbAAAASqbYBgAAgJJZ+gsA6BeV1uFuGtYUY4aNifGzxsea9WsKr9Gdd7myoWIor0neH2u47zdjRsS0oZkXMPgotgGgTg1E0dp1Le7hMTyWLFsSk7edHOtiXUe7NbrrkzXcgaFMN3IAAAAomWIbAAAASqbYBgCgXFP6ea3s5ubuH+PHv3Zb+rnrbXk22freuckK8jFmGwCAwaely3jv4cMjliyJmDw5Yt1f5wOI+cZ7A9XhyjYAAACUTLENAAAAJdONHADYqErLLqVrIVuOiR7HQ7e2Vr5t+abXyq619b3zrvEN0JViGwDoUU9FRjpB0kCs080gHDvdPk66a3sNjZ3Ou753eztAb+hGDgAAACVTbAMAAEDJFNsAAABQMsU2AFCY8doAsHGKbQAAACiZ2cgBgH7TdSbnpmFNMWbYmFiwdEGsWb+matsFAP1NsQ0ADNiyYW1tbbHH5XvE4lMWR2NjY1W2CwAGgm7kAAAAUDLFNgAAAJRMN3L6xZRrppipFoBea76kuWJ767rWHm+r1G29JkyZEjHH38Q8Y/rbn+NK7d2/uct9mpoixoyJWLAgYo35AMpSaX8blPshVIFiGwCoSS1jW7q1pUVYT+0MLj0VZblO2C+v8L1tbRF77BGxeHGE+QBK1XWfsx9CPrqRAwAAQMkU2wAAAFAy3cgBAMrSXGEca2tr5faeukMDMCQotgEAytTS0n0ir65t7e0ADFm6kQMAAEDJFNsAAABQMt3IAQAgj57G3qfj8rfaqvJtxuXXjFzLykGJFNsAAJBXT+PvjcsHutCNHAAAAEqm2AYAAICS6UYOAAOpa7fSdKynrqa1b8qUiDnGetJHlfZ1xwAYshTbADBQKk2UpIiDTvoygdU9M2fGtKhRPU2U5hgAQ5Zu5AAAAFAyxTYAAACUTDdyGOT2mzEjYlrNdpoD6LX5z3Yfx9q6rrViOxThtQUMBMU2AFBzlp9ZeXzrlGum9GlML3htAQNFN3IAAAAomWIbAAAASqYbOdQCy34A9Lta7ybcfElzp6+bhjXFmGFjYvys8bFm/Zrc3aEBqA2KbQCAGtEytqXj/8NjeCxZtiQmbzs51sW6TvczkRdA7dONHAAAAEqm2AYAAICS6UYOg0Vz57F8maamiDFjIsaPj1jTfTxfLDeeDwAAqkGxDYNJy1/H8mWGD49YsiRi8uSIdZ3H88V84/kAAKBadCMHAACAahfby5Yti4kTJ8aiRYtytW/MN7/5zfjbv/3baGxsjHe84x3xzDPPFN0cAAAAGNzdyNOCevr06RUL7UrtG/OLX/wizj333Pje974XO++8cxx99NFx+umnZ18DAJS1XnW71nWtPd42FNesrvV1xQGGukLF9lFHHZUVxffff3+u9o35/e9/H9/4xjfiwAMPzL7+53/+5/jSl75UZHMAgDqTt3jccL3qDdem7qkdqmaOEyIwVBUqtq+88sqsq/jJJ5+cq31j0uJ6Q48//nhMmjRpo9+zdu3a7KPdypUrs89tbW3ZRy1oGtYUw2N4p7bGaOz0uev9a2Xby5SsT3r1uNq/ZyhmsjGbJUm8uqnHnM48nk6ItoG2xsZOn7vdv85y3Jh6fW31lrwGLqtc+/8QMhCvrUp/i1MN0VCxPc/f4tzPU4Vj9WYNDfFql7aO+27wM7tud1/fP/T2b3EhFR5vj4+5n/8u9fW1lSuvIo+3/f41uH8XyarS/tSXfamavD/tf/WSVVvOx9eQJElS9Ic3NDTEk08+GRMmTMjVvil//vOf4w1veENcf/31ccghh/R4v/POOy/OP//8bu3p940cOTJq2YyFM2LmTjOjXtTb4+2r/WbMiHtmzhzw7/U8DZy+PE8M7f2wHl8b1Tr29OX3DsbjdLUebxnfXw3VzGuwGazvHwbrdlN7Vq9enfXsXrFiRYwePbq2i+0PfehD2VXqW265pfCV7XHjxmVjxjf2IAfS+FnjY/K2kzu1pWekn1r2VOw4Zsdoi85nQRYsXRCLT1kcQ83U706N2R+Z3auzRLNnz46pU6dmE+fVi82mTo1XZ/cur5f23ju2vP/+XuXV2+dpMKr2a6u3z3G95lUNuZ+jdF37dLm9v0h7lrz01FOx5Y47RmPXM90LFkQsHnrH+Fp/bVX6W5ya9+y82GvsXt3a8/wt7u3rI/veefPi1b26/96ur4+u293X9w99Ocb35fH2+Jj7eX8YkONWkcdbw8eAIllV2p/6si9Vk/en/a9eslq5cmWMGTNmk8V21dfZvuaaa2LOnDnxyCOPbPK+I0aMyD66Sp/IWnky16xfE+uiy3rHf5H+oex6W3r/Wtn2MjUMa+jT46ql53RANDTEsCrk1dfnaTCq2murj89xtdTVvpj3OVqzpvu69mlWbW3R2LU9vW+95FdDr62e/hYnkVRsz/W3uC+vjySJYRVeM11fHz1td2/fP/TpGN/H/aHiYx6g/aFfj1tFHu8gOAbkyarS67JP+1IVeX86cIZ6Vo05H1tVi+0HH3wwTjzxxPjP//zP2G677aq5KQAAAFCazQfiEvsWW2zRrfpfunRpHHrooXHGGWfEW9/61mhtbc3at9pqq/7epEHH0h0AADVifoXZ69P3sZXa6cb7WurJsP7+BZMnT644FvuGG26IZ599Nltre9SoUR0fAABQk5Yvr/zx9rf3fBtQt3p1ZbunOdUqtS9atKjifdNlwoosFQYAAACDRb9f2QYAAIB6U/XZyKlhU6ZEzDGmZihovqS5YnvrutYeb1t+pq5vAL3SdexugfG885/96/2ahjXFmGFjsuWU0lmeAe9PGVwU21AnWsa2VHxT11M7AL1QaYxuzuKg60nOdL3aPS7fI1u3eCgvoQMwVOlGDgAAACVTbAMAAEDJdCMHesU6mQNH1jCAmivPY5GNu+7pthpY3qnS/BsDNi+Hdafpj9dl0X2xn/fDGQtnxLSY1q+/g6FHsQ0AsKGW7nNZZIVjT+01ouscHAMyL0dPBU69TWJVT491IF+XeffFGtoPYUO6kQMAAEDJFNsAAABQMt3IeU2lsS81Pj4NAOi5G246NjZXl3HvARhiehoT3tN48VLnMIANKLb5q0rjX2p8fBoAULlYKDS5ovcADDE9jQuvNIYc+otu5AAAAFAyxTYAAACUTDdy+iztptZV2iWnUntqwy5tXcfNNA1rijHDxsQnZn0i1qxf0+17jamp/XFPKc9T7wypMWa1vuyPMaoA/T8fANQ5xTZ9Vmk8WJFxYhuOnRkew2PJsiUxedvJsS7Wdbqfg3rtj3tqb6f3jDEbQMaoMgjM3GlmtTeBOtfn+QCgjulGDgAAACVTbAMAAEDJdCMHgKI27Fre1BQxZkzEggURa7rPNQFQz6o13rvS78jzuyvNkdI+p9D4WeO7zSlU0/OnUHWKbQAooutkaW1tEXvsEbF4cURjY7W2CqDmVGu8d18L4K7zpPQ0p5D5U9gU3cgBAACgZIptAAAAKJlu5ENdra91W296WsO3p/V9re0LANSrSksvpu+ZLMnIIKHYhoHW0zq+ldb8BYDByIl+epB7vHZPFxxcSGIQ0Y0cAAAASqbYBgAAgJLpRg5QJuPy+04XQaq4xm7djhPt+tiG+uMFGACKbRjk7pk5M6ZVeyPozLh8qKqe1tjNtb5vPZ4Aq/SYnfQC6DPdyAEAAKBkim2GlPSqBQAAQLUptgGAupB7yaHSf7Hu2AwtVduXsl9uf2LwUGwDAABAyRTbAAAAUDKzkUOd6NMyOL3UfEnlZbDS37vV8K0KzSJM7+SafbkH+82YETHNXPcAAL2h2IY60KdlcPqoZWz3ZbDSAr+ndgCGwLhaAHQjBwAAgLIptgEAAKBkupHXkI2Nb+3pto7uwc2Vb4/W1p5vW25sLAAA9KeBGLZHbVJs15g+jW9t6X6fmD+/53YAgEqsZQzQZ7qRAwAAQMkU2wAAAFAy3cj7Qdfu3U3DmmLMsDGxYOmCWLN+TdW2C6B0tTZfxJQpur8CMLT+nm61Va/+nhorXn2K7QFYz7itrS32uHyPWHzK4mhsbKzKdgH0G/NFxD0zZ8a0am8EAIObv6dDjm7kAAAAUDLFNgAAAJRMN3J67o6SjhHRRYVKy8z9Zf33Su0wIOO9yxgr7pgHwBCYf6n5ksp/99L3aj3dVmnoK+VTbNPzBAsmGhry8kya0dPB2KQbVH18Wl++1zEPgCE0/1LL2JaKJw16amdg6EYOAAAAJVNsAwAAQMl0IwdgcKo0vtq4awAGydjpmh43bWhVKRTbAAw+lcZcp7w5AGAQjJ02bro+6EYOAAAAJVNsAwAAQMl0I6fqNuxGU2Qdw0pjX6q6nqDuqzVvvxkzIqZNq/ZmsCHjrgFgSJmxcEZMC++3Uopt+kXe9Ze7FsBF1zGsNP7FeoIDwxrbDLlx106WAQAl0o0cAAAASqbYBgAAgJLpRg6QhzH5AMBQ01x5rqNs/pSebttgGFjXuZLa518aP2t8xfmXanpt8X6g2B4gM3eaWe1NAAAAemFIv5dv6T7fUTZRaU/tXb99g/mShsfwWLJsSUzednKsi3VR73Mo6UYOAAAAJVNsAwAAQMl0I68xlbpXpGtH5+p2Yb3a2hzb0nV5I8/T0DfYnuNKr9umpogxYyLGj49Y02XMldc0ANTUe/k+/V76jWK7hvQ0YcCUa6Zsek3jWluvdqjLO7al68HR8zT09fQc17qur93hwyOWLImYPDli3QZjrrymAaCm3sv36ffSr3QjBwAAgJK5sg1QQ3QDAwAGlOFg/UaxTc90AYUBpRvYXzj2AECf5XrvYDhYv9KNHAAAAEqm2AYAAIBqdyNftmxZ7LXXXjFnzpyYMGHCJts35q677opPfOIT8fzzz8c555wTp556atHNAeAvXc0rScd6V7qtW9eyruOy2pf+WrCg+9JfAAB/seG8Mk3DmmLMsDGxYOmCWLPe+4dCxXZaUE+fPj0WLVqUq31j0gL7sMMOi9NOOy0+9KEPxVFHHRW77757TEnHB9BJXY3VjIiZO82MumNMDP10nOj1ciNtbRF77BGxeHFEY2MvNshrGgD6rFp/T3P+3q7zzbS1tcUel+8Ri09ZHI29ef9Qz93I04L46KOPzt2+Md/73vdi++23j3PPPTcmTZoUn/3sZ+Oqq64q9DMAAABg0F/ZvvLKK2PixIlx8skn52rfmEceeSS7it3Q0JB9/fd///dx1llnbfR71q5dm320W7lyZccZlPSjVrVvWzW2cbMkiVdrOJu+ZJV2Uxkewzu1NURDt7b2+5aWf9q9dnj337FZQ0O82rU9vW8/5l/N11YelZ6jAXueSs6qmvtSsj7p9Xb39ntr/bVVS8/TYM2qWuSVn6yKkVd+shrYvPryd3ywqZfXVlvOx1eo2E4L6iLtG5MWyrvuumvH16NHj44lS5Zs9HsuuuiiOP/887u133HHHTFy5MiodbNnzx7w37nfCy/EPbfeGoNNnqz+3xv/X7e2GctmxCe3/mT3O28dcWtZOfy/7r83td+MGXHPJyv87gHIvxqvrTwqPUcD9jxVsF8fsqrmvvTCn1/odS59+d6+5FUt1XyeBltW1Sav/GRVjLzyk9XA5NWXv8WD1VB/ba1evTrX/RqSJEmK/vD0avSTTz7ZbSK0ntor+eAHPxhve9vb4qSTTsq+fvXVV6OpaeNXtSpd2R43blw2Zjwt1mtV+pjSF9zUqVMHfOzCZlOnxquD6MVeJKvxs8bH5G0nd2qb9+y82GvsXt3um07SkI4dKcX48RGTO//e1Gbz5sWre3X53enkUumY1yH42sqj0nM0YM9Thaxe2nvv2PL++zedVYXnuOLzOwDPcWrqd6fG7I/MHtDvLZRXnav1/bDWyCs/WRUjr/xkVYy88quXrFauXBljxoyJFStWbLQOLTwbeVm22WabbJK0dqtWrYrhFbrmbmjEiBHZR1fpEzkYnsyqbGdDQwwbBNn0Jqt0hsN1sa5TWxJJt7b2+5aWfToz87ruvyOSJIZ1bU/vOwD51+o+UOk5GrDnqS9ZVXqOKz2/7fft521uGNbQ61z68r21/NqqRbIqRl75yaoYeeUnq2Lkld9Qz6ox52Or2jrb6TJh9957b8fXDz/8cPzd3/1dtTYHAAAASrP5QFxi32KLLbpV/+myX5/61KfizjvvjHe84x3xxS9+MQ4++OD+3hygimsvtmtd11qxPY9cS1kBAMBQL7YnT54cs2bNisMPP7xTe9rH/atf/WpMmzYtttpqq9h6663j6quv7u/NAQZQ17UX2ymYi5EVAECdFNs9zalWqX3RokU9/pxPfOIT2dXs3/72t7H//vtnRTcAAAAMdlWbIG3DZcN6s3QYAAAA1KqqF9sAPWm+pLnieO9K7d26rTd3uU9TUzp+5bVlvdIZxLt9c5cu7/O7jClvbe3eBgAAPVBsAzU9BrllbEunr9OJ1bq2tbd3/+YN7pcuLbhkyWvrZ3ddwqtrEd218E5NmRIxx9hpAACitpf+AgAAgKFKsQ0AAAAlU2wDAABAyRTbAFR0z8yZ1d4EAIBBS7ENAAAAJVNsAwAAQMks/cWg1nW5p3QN5opLQAEAAAwgxTaD1vIzu6+FPOWaKYXWcIahzv4AAFAdupEDAABAyRTbAAAAUDLFNgAAAJRMsQ0AAAAlU2wDAABAyRTbAAAAUDLFNgAAAJRMsc2QYk1hAACgFii2AQAAoGSKbQAAACiZYhsAAABKptgGAACAkim2AQAAoGSKbdjAlGumVHsTAACAIUCxDQAAACVTbAMAAEDJFNsAAABQss3L/oEwGDRf0lyxvXVda8Xblp+5fAC2CgAAGCoU29StlrEt3drmPzu/W3vaBgAAUIRu5AAAAFAyxTYAAACUTLENAAAAJVNsAwAAQMkU2wAAAFAyxTYAAACUTLENAAAAJVNsAwAAQMkU2wAAAFAyxTYAAACUTLENAAAAJVNsD3Vz5lR7C2BosC8BAFCAYhsAAABKptgGAACAkim2AQAAoGSKbQAAACiZYhsAAABKptgGAACAkm1e9g+EwWL+s/O7tbWua63Y3v2bK9yntbVyOwAAUHcU29Sl5Wcur9g+5ZopMeeYTaynvLzy98aUKdZiBgAAMrqRAwAAQMkU2wAAAFAyxTYAAACUTLENZTFeGwAA+AvFNgAAAJRMsQ0AAAAlU2wDAABAyRTbAAAAUDLFNgAAAJRs87J/IEDNmD//r/9vaooYMyZiwYKINWuquVUAANQBxTYwNC1f3vnrtra459ZbY9q0aRGNjdXaKgAA6oRu5AAAAFAyxTYAAACUTLENAAAAJVNsAwAAQMkU2wAAAFAyxTYAAABUu9hetmxZTJw4MRYtWtTR9thjj8Vee+0Vzc3N8ZnPfCaSJNnkz0nvc8IJJ8Q222wTW2+9dRx77LHx8ssvF38EAAAAMJiL7bTQnj59eqdCe+3atXHooYfGnnvuGQ8++GD8+te/jquvvnqTP+u6666Lxx9/PB5++OG4++6741e/+lVcdNFFvXsUAAAAMFiL7aOOOiqOPvroTm233XZbrFixIr7yla/EG97whvjCF74QV1111SZ/1gMPPBBHHHFE7LjjjrHbbrvF4YcfHgsXLiz+CAAAAKDGbF7kzldeeWXWhfzkk0/uaHvkkUdin332iZEjR2ZfT548Obu6vSn/+3//7+zq9j/8wz/EmjVr4vvf/36ceuqpG/2e9Cp6+tFu5cqV2ee2trbso1a1b1stb2OtqHZWyfpkUD1P1c6rvzUNa4rhMbxTW0M0dGtrv+/GchjqWZVNXvnJqhh55SerYuSVn6yKkVd+9ZJVW87H15DkGWDd9ZsaGuLJJ5+MCRMmxGmnnZYVy1dccUXH7a9//evjd7/7XTaGe2MbmHY9f/TRR7Ov067oN910Uwwb1vPF9vPOOy/OP//8bu3XX399R7EPfTFj4YyYudPMam8GG+E5AgCgmlavXp31+E57eI8ePbqcK9sVf8Dmm8eIESM6tTU1NWUbsLFi+7LLLssmRnvqqaey4v3jH/94Nrnal7/85R6/5+yzz+509Tu9sj1u3Lg46KCDNvogqy09sTB79uyYOnVqNDY2Vntzalq1s/rqd78a06ZNi8Gi2nn1t/GzxsfkbSd3avvTK3+Kr7/49W73XbB0QSw+ZXHdZlU2eeUnq2LklZ+sipFXfrIqRl751UtWK//Sw3pT+lxsp7OJp7ORb2jVqlUxfHj3bp4b+t73vhcXXHBBjB8/Pvs6nRztHe94x0aL7bSo71rYp9IncjA8mYNlO+s5q4ZhDYPyORqqr60169fEuljXqS2JpFtb+33zZDBUs+ov8spPVsXIKz9ZFSOv/GRVjLzyG+pZNeZ8bH1eZztd8uvee+/t+DrtXp6Oq06L8I1Zv359LF26tOPrZ599Nl599dW+bg4AAABUXZ+vbB9wwAHZZfTvfOc78c///M/ZbOQHHnhgbLbZZtntL774YowaNarj63b7779/XHzxxVn7unXr4pJLLonDDjusr5sDAAAAVVfKmO1vfetb8aEPfSgbc51OcDZ37tyO29Nx2+la2i0tLZ2+b+bMmVmRfsYZZ2Tdzg8++OBsHDcAAADUZbHddQLz9Ir0E088EQ899FC2DNjrXve6Hu/bLp0c7dprr+3NrwcAAIChfWW73dixY+O9731vWT8OAAAABq0+T5AGAAAAdKbYBgAAgJIptgEAAKBkim0AAAAomWIbAAAASqbYBgAAgJIptgEAAKBkim0AAAAomWIbAAAASqbYBgAAgJIptgEAAKBkm5f9AwHKNP/Z+Z2+bl3X2q0NAABqjWIbqFnLz1zerW3KNVNizjFzqrI9AACQl27kAAAAUDLFNgAAAJRMsQ0AAAAlU2zDBowFrn2eIwAABgPFNgAAAJRMsQ0AAAAlU2wDAABAyRTbAAAAUDLFNgAAAJRMsQ0AAAAlU2wDAABAyRTbAAAAUDLFNgAAAJRMsQ0AAAAlU2wDAABAyRTbAAAAUDLFNgAAAJRMsQ0AAAAlU2wDAABAyTaPQSxJkuzzypUro5a1tbXF6tWrs+1sbGys9ubUNFkVI6/8ZFWMvPKTVTHyyk9WxcgrP1kVI6/86iWrlX+pP9vr0SFZbK9atSr7PG7cuGpvCgAAAHVk1apV8Td/8zc93t6QbKocr2Hr16+PJUuWxKhRo6KhoSFq+cxHekLg6aefjtGjR1d7c2qarIqRV36yKkZe+cmqGHnlJ6ti5JWfrIqRV371klWSJFmhvf3228ewYcOG5pXt9IHtsMMOMVikL7ih/KIrk6yKkVd+sipGXvnJqhh55SerYuSVn6yKkVd+9ZDV32zkinY7E6QBAABAyRTbAAAAUDLF9gAYMWJEfO5zn8s+s3GyKkZe+cmqGHnlJ6ti5JWfrIqRV36yKkZe+clqCE2QBgAAALXIlW0AAAAomWIbAAAASqbYBgAAgJIptgEAAKBkim2AjTCHZDHr16+v9iYAFOK4BfQXxXaN8ca+91nJjv7Q0NDgtZXDr371q+zzsGH+rEA1OE4V57gF1ZXUwXHL0aXGvPLKK/H000/H/Pnz409/+lO1N6fmrVy5Mh599NFYtGhRVhTRs7Vr18by5cs7Dm7tB7h6OND15nX14x//OP7t3/4tezPmtbVxS5cujd122y0OP/zwaG1t9ZraiBUrVsQPfvADGRXkyuOmtbW1xRNPPBG33nprLFy4sNqbU/Mct/Jz3Oodx61Nq4fjlmK7xpx66qnxzne+Mz784Q/H2WefHQ8++GDWboft7otf/GJMmzYtjjjiiDj22GPja1/7WrbT0nNeaQGZSovH9GPNmjUKyQpvKtL97/TTT4/Zs2dn++Hjjz/e6T72x86OO+64eNe73hXbb799PPzww15TPUjfqP7mN7+JD33oQ3HkkUfGQw89VO1Nqnnf+c53sqKo/cqjfa9np512Wrzvfe+Liy66KP7lX/4lfve733W6/dVXX63attUix618HLeKc9zK77Q6OG4ptmvIPffcE9/85jfj+uuvj89+9rPZm/5LLrmkYhenej+7eN9998WXvvSlLKdLL7003vOe98QPf/jDjpMTdLf55pvHV77ylXjxxRfj+eefj7POOiv23XffOPTQQ+OOO+6o9ubVjDSL9OxqWmB/4QtfyE7gpG3PPPNM3H333dl9dDn8q5///OfZSYkbbrghJk+eHCeccELcf//9Q+aPZJnSN/P77LNPHH/88dmJr/RE4ac+9amsZ05q1apVejR1+Tv3/e9/PztOpceuDfe9ev8b2NW9994bV199dfYmP33fkB7n0+PWb3/72+yKZGqzzTar9mbWDMet/By3inHcyu/eOjluecdYQ+68886YPn167L333vHBD34wLr/88qwLa1qAd/0DUO9nYNPuJocddlgcdNBB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",
      "text/plain": [
       "<Figure size 1200x500 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 绘制K线图\n",
    "from mpl_finance import candlestick2_ochl\n",
    "\n",
    "# 读取数据\n",
    "file_name = './000001(20250101-20250328).csv'\n",
    "df = pd.read_csv(file_name).rename(columns={'Unnamed: 0':'date'})\n",
    "df.date = pd.to_datetime(df.date)\n",
    "\n",
    "fig = plt.figure(figsize=(12,5))\n",
    "\n",
    "axes = fig.add_subplot(111)\n",
    "\n",
    "# 绘制K线图\n",
    "candlestick2_ochl(ax=axes, opens=df['open'].values,closes=df['close'].values, highs=df['high'].values, lows=df['low'].values,\\\n",
    "                 width=0.75, colorup='r', colordown='g')\n",
    "\n",
    "# 设置x坐标轴，刻度为每隔5天显示\n",
    "axes.set_xticks(range(0 , len(df.index.values), 5), df['date'].dt.date[::5], rotation=60)\n",
    "axes.grid(True)\n",
    "axes.set_title('K-line')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "id": "782de1b0-6fee-48c9-99ca-95a3795d970e",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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JpZttWYCAAAAAHJo8B53UqktmNddd5306dNHevXqJddee6307Nkzrn+srx85cmTU54855hiZN29eXO8JAAAAAMiRUWFvu+02+a//+i/54IMPZM2aNTJixAj5zW9+E9d7nH766TJp0qSoz2u32zFjxiRSPAAAAACA1xPL448/Xv77v/9bunXrJsXFxeZ35qvJ/TmHhg0bZpYA8QAb8QAb8QA3YgI24iG4EppupEOHDi0ey89PKEeFR2j9lZWVZbsY8AjiATbiATbiAW7EBGzEQ3AllFi+//770tjYKKNHj5aCggKZP3++eeycc86RbFu+fLnceuutsnXrVjOg0EMPPSSHHXaYPPvss9LQ0CAHDhyQU045RY477jiz/qZNm+Sll16Srl27mucuvfRSCSKdxHbhwoXhOkWwEQ+wEQ+xmfLLl2T77oNxvaZn1w7y4v87U3IJ8QA3YgI24iG44q5tTc7OPPNM+eMf/yjf/e53zeitOhXJHXfcIdmmgwo9//zz8txzz5nm9x/84Ady8803y+TJk81zF198sVnviiuukPvuu89cUdHnf/e735ntWLRokTz11FNy0UUXSdDoZzF06FBanmEQD7ARD7HRpPLtO74a12tO+ulfJdcQD3AjJmAjHoIr7sRSE7a7777btArq0kv+85//yFVXXRXu03322WfLgw8+KB9//HGzwYVKS0tNK2X//v1NwqlJpdJBiK6//vqoieXBgwfNj2P37t1mWVdXZ37cdIfSsmgyrvR3vYoTbRoVfV5fo+voUn8iva/DuQqk69u/R1NYWGhamvVH19elUzZ1+OGHm7/1Rz8TXccuu/6ur4nE2Va77LFsq25fLGW313G2wy67zSm7va2xlD1X6inStqajnjQeHNSTd+vJ3tZ01lNJSYlZT/8P9dR8W52yJ+JgbZ2cdEMsyaV+TzV9hj26dJC/Xz8hq/tTjx49TD1F+yy9XE9e2J/8eNyzzyHsbaWeHIlMoRdqsX25sj858eC8JnfqyZ/fT/lJ7E+tbXOLz0ASMGrUKJOsvfHGGyZwxo4d64mrEu7+3No994wzzjBJpU6L4tDftcvs9u3bmz2uFbxx48ZmAeEeDXfmzJktHp87d6506tSpxeOauA4fPlxWrVolHTt2NAMcLVu2TCoqKiKWX2901m3Q7gN6pUe/uPW9owXluHHjzPvOmTPHtMrW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",
      "text/plain": [
       "<Figure size 1150x575 with 4 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 绘制带成交量的K线图\n",
    "# 使用mplfinance模块\n",
    "import mplfinance as mpf\n",
    "\n",
    "# 读取数据\n",
    "file_name = './000001(20250101-20250328).csv'\n",
    "df = pd.read_csv(file_name).rename(columns={'Unnamed: 0':'date'})\n",
    "\n",
    "# 时间格式转化,并生成年，月列\n",
    "df['date'] = pd.to_datetime(df['date'])\n",
    "df['year'] = df['date'].dt.year\n",
    "df['month'] = df['date'].dt.month\n",
    "df_mpf = df.set_index('date')\n",
    "\n",
    "# 设置颜色\n",
    "my_color = mpf.make_marketcolors(\n",
    "    up=\"red\",  # 上涨K线的颜色\n",
    "    down=\"green\",  # 下跌K线的颜色\n",
    "    edge=\"i\",  # 蜡烛图箱体的颜色\n",
    "    volume={'up': 'red', 'down': 'green'},  # 成交量柱子的颜色\n",
    "    wick=\"i\", # 蜡烛图影线的颜色\n",
    "    ohlc = 'i',\n",
    ")\n",
    "\n",
    "# 设置样式\n",
    "my_style = mpf.make_mpf_style(\n",
    "                            # base_mpl_style=\"ggplot\", \n",
    "                              marketcolors=my_color,\n",
    "                             gridaxis='both',\n",
    "                             gridstyle='-.',\n",
    "                             rc = {'font.family':'STSong'})\n",
    "\n",
    "# 画图\n",
    "mpf.plot(\n",
    "        df_mpf,\n",
    "        type='candle',\n",
    "        title='K-LineByVolume',\n",
    "        ylabel='price',\n",
    "        style=my_style,\n",
    "        volume=True,\n",
    "        ylabel_lower = 'volume',\n",
    "        datetime_format='%Y-%m-%d',\n",
    "        xrotation=30,\n",
    "        figratio=(12, 6),\n",
    "        linecolor = '#00ff00',\n",
    "        tight_layout=False,)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "id": "333456df-8234-43b4-ba01-87c4964f707a",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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7kw0iYiIPIGJJRER1Zp0liMJoSRN0smNVMOsD0lOZbxJqeJZV1I6KR39SMc+Qjrhkc53cnNz1X2pRpqfn18heTt8+DA+//xzPP74487HpKqpbM9TTz3lrGbqymg04q677lId6lx33XWVnpcOfrZu3aqq6TpIZzsnTpxQias7PXv2VK8RZ86cUetVVFRU7TZXNw7o8OHDVcIsJbFSvdexDtIpEhERUXNhVVgiInLbk+rSpUvV7YULF6qql5LACEmCJMmShEvaA0obxunTp6N3797O12dlZanERtolCuldNTQ0VJWqSc+p0itrYGCgaico7TcPHTqEpKQklUBJr7BSiiglpJLwLVq0SFVFlbaOf/rTn9R6yPtJT6m33XYbzjrrLMybN09Vl5XHP/74Y/X5UrVVqsBKD6tSuipDpUh7RT1J/qRHVinNrIokj1JC6q7EUtp2yvpKj6yOsTglaZSSXSkFld5t33//ffX5Ujoq1XHvuOMOVb1WEltpK3nppZeq7+Gll15SbTl//PFH9T7y3Q4ZMkRV3z169CjeeOMNlTxKO1HHd7Jjxw7VxlOSbEm4ZX2kjafsH/l+iIiImotBevBptk8jIqIWobS0VJXWOaptSqmgo52f3JZDhyRy0hZQEjdZRhLFuiopKVFtKuV95DMdt2WS95R1aErbt29XVVklofMGUpLr+N7lu5HvVOby3cv3I4/LdyPLyPcj371r+0siIiJPYGJJREQ+y1GK6NpZDhEREdUNq8ISEZHPkfaY0putzJlUEhERNRwTSyIi8jmzZ89W1WClfSQRERE1HKvCEhERERERUYNwuBEiIiIiIiJqECaWRERERERE1CBMLImIiIiIiKhBmFgSERERERFRgzCxJCIiIiIiogZhYklEREREREQNwsSSiIiIiIiIGoSJJRERERERETUIE0siIiIiIiJqECaWRERERERE1CBMLImIiIiIiKhBmFgSERERERFRgzCxJCIiIiIiogZhYklEREREREQNwsSSiIiIiIiIGoSJJRERERERETUIE0siIiIiIiJqECaWRERERERE1CBMLImIiIiIiKhBmFgSERERERFRgzCxJCIiIiIiogZhYklEREREREQNwsSSiIiIiIiIGoSJJRERERERETUIE0siIiIiIiJqECaWRERERERE1CBMLImIiIiIiKhBmFgSERERERFRgzCxJCIiIiIiogZhYklEREREREQNwsSSiIiIiIiIGoSJJRERERERETUIE0siIiIiIiJqECaWRERERERE1CBMLImIiIiIiKhBmFgSERERERFRgzCxJCIiIiIiogZhYklEREREREQNwsSSiIiIiIiIGoSJJRERERERETUIE0siIiIiIiJqECaWRERERERE1CBMLImIiIiIiKhBmFgSERERERFRgzCxJCIiIiIiogZhYklEREREREQNwsSSiIiIiIiIGsTUsJf7NpvNhuPHjyMsLAwGg8HTq0NERERERNRo7HY78vLyEBcXB6Ox+jJJJpYNIEll586dPb0aRERERERETebo0aPo1KlTtcswsWwAKal0fNHh4eFoycxmM3766SdMmjQJ/v7+nl4d8jDGA+kxHkiP8UCuGBOkx3hoXXJzc1VBmiPvqQ4TywZwVH+VpLI1JJYhISFqO/gnQIwH0mM8kB7jgVwxJkiP8dA61abZHzvvISIiIiIiogZhYklEREREREQNwsSSnMXb7N2WHBgPpMd4ID3GA7liTJAe48F3GezShyzVuzFrREQEcnJyWnwbSyIiIiIiovrmOyyxJOeYnKmpqWpOxHggPcYD6TEeyBVjgvQYD76LiSUp8uNPS0vjnwApjAfSYzyQHuOBXDEmSI/x4LtYFbYBWBWWiIiIiIhaK1aFpTqzWq3Yu3evmhMxHkiP8UB6jAdyxZggPcaD72JiSYpUV9i3bx+rLZDCeCA9xgPpMR7IFWOC9BgPvouJJRERERERETUIE0siIiIioobKzgbmztXmRD6IiSURERERUUPl5ADz5mlzIh/ExJKIiIiIiIgahIklERERERERNQgTS1KMRiMSEhLUnIjxQHqMB9JjPJArxgTpMR58l8Fut9s9vRK+MGAoEREREbViqalAly5ASgqQmOjptSFq9nyHlxJIkUFst2zZwsFsSWE8kB7jgfQYD+SKMUF6jAffxcSSnIKDgz29CuRFGA+kx3ggPcYDuWJMkB7jwTexKqzOL7/8gi5duqB79+61Wp5VYYmIiIh8WGYmUFCg3T52DBg9GkhKAjp1AkJDgagoT68hUYP4ZFXYZcuWYdq0aRUeKy4uxmWXXYYVK1ZU+9r09HTccsstqpFxbZPK1sZisWDt2rVqTsR4ID3GA+kxHsiVz8aEJJWxsVq7SpkkqRQyl/vynCzj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",
      "text/plain": [
       "<Figure size 1150x575 with 4 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 绘制K线图带均线和成交量量\n",
    "\n",
    "import mplfinance as mpf\n",
    "\n",
    "# 读取数据\n",
    "file_name = './000001(20250101-20250328).csv'\n",
    "df = pd.read_csv(file_name).rename(columns={'Unnamed: 0':'date'})\n",
    "\n",
    "# 时间格式转化,并生成年，月列\n",
    "df['date'] = pd.to_datetime(df['date'])\n",
    "df['year'] = df['date'].dt.year\n",
    "df['month'] = df['date'].dt.month\n",
    "df_mpf = df.set_index('date')\n",
    "\n",
    "# 设置颜色\n",
    "my_color = mpf.make_marketcolors(\n",
    "    up=\"red\",  # 上涨K线的颜色\n",
    "    down=\"green\",  # 下跌K线的颜色\n",
    "    edge=\"i\",  # 蜡烛图箱体的颜色\n",
    "    volume={'up': 'red', 'down': 'green'},  # 成交量柱子的颜色\n",
    "    wick=\"i\", # 蜡烛图影线的颜色\n",
    "    ohlc = 'i',\n",
    ")\n",
    "\n",
    "# 设置样式\n",
    "my_style = mpf.make_mpf_style(\n",
    "                            # base_mpl_style=\"ggplot\", \n",
    "                              marketcolors=my_color,\n",
    "                             gridaxis='both',\n",
    "                             gridstyle='-.',\n",
    "                             rc = {'font.family':'STSong'},\n",
    ")\n",
    "\n",
    "mpf.plot(\n",
    "    df_mpf,\n",
    "    type = 'candle',\n",
    "    mav = [5,10], # 生成5日、10日均线\n",
    "    title='K-LineByVolume',\n",
    "    ylabel='price',\n",
    "    style=my_style,\n",
    "    volume=True,\n",
    "    ylabel_lower = 'volume',\n",
    "    datetime_format='%Y-%m-%d',\n",
    "    xrotation=30,\n",
    "    figratio=(12, 6),\n",
    "    linecolor = '#00ff00',\n",
    "    tight_layout=False,\n",
    ")\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "8477bce9-1079-4f07-8fca-89932f809c09",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "633766fb-a054-47ee-bad8-0a57d199c275",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "4f90a49a-db8e-4ef8-8991-1320529f0b53",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "b4ed8a17-5d9f-452b-9d4b-c6e7d6451079",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "236624ef-d507-43de-9546-e6fbb484c066",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "61731e63-aed6-478c-9115-d5effd6fdd7e",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.13.3"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
